#ifndef GENERAL_CMD_H
#define GENERAL_CMD_H
#include <vector>
template<typename T>
class Command{
public:
    virtual  int excute(T){
        return 0;
    }
};

template<typename T>
class CommandBroker{
public:
    void AddCommand(Command<T> order){
    }
    void DoCommand(){
        for (Order order : orderList) {
            order.execute();
        }
        orderList.clear();
    }
private:
    std::vector<Command<T>> mCommands;
};
#endif